package com.okaixz.client.model.domain;

import com.baomidou.mybatisplus.annotation.*;

import java.time.LocalDateTime;
import java.io.Serializable;
import java.util.Objects;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 
 * </p>
 *
 * @author cdz
 * @since 2025-09-17
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("pwd_info")
@ApiModel(value="PwdInfo对象", description="")
public class PwdInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty(value = "修改时间")
    private LocalDateTime modifyTime;

    @ApiModelProperty(value = "其它信息")
    private String otherInfo;

    @ApiModelProperty(value = "标题")
    private String title;

    @ApiModelProperty(value = "账号")
    private String account;

    @ApiModelProperty(value = "备注")
    private String beizu;

    @ApiModelProperty(value = "密码")
    private String password;

    @ApiModelProperty(value = "状态0不可用1可用")
    private Integer status;

    @ApiModelProperty(value = "类型0密码 1卡包 2通用")
    private Integer type;

    @ApiModelProperty(value = "应用信息")
    private String appInfo;

    @ApiModelProperty(value = "用户id")
    private String userId;
    @ApiModelProperty(value = "标签id")
    // 允许将此字段更新为 null
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Long tagId;

    @ApiModelProperty(value = "标签名称")
    // 允许将此字段更新为 null
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String tagName;

//    @Override
//    public boolean equals(Object o) {
//        if (this == o) return true;
//        if (o == null || getClass() != o.getClass()) return false;
//        PwdInfo bean = (PwdInfo) o;
//        return hashCode()==bean.hashCode();
//    }
//
//    @Override
//    public int hashCode() {
//        return Objects.hash(userId,title,account,password,type);
//    }
}
